﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DADOS;
using DADOS.auxiliares;
using DADOS.usuario;

namespace PROAD.atendimento.Relatorio
{
    public partial class RelAvd : System.Web.UI.Page
    {

        metFeiridas metFer = new metFeiridas();
        metAvd metFormAvd = new metAvd();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Session["CO_USUARIO"] != null)
                {
                    lblUsurario.Text = "Nome do Paciente: " + Session["NO_NOME"];

                    var objAvd = metFormAvd.possuiAvd(Convert.ToInt32(Session["CO_USUARIO"]));

                    if (objAvd != null)
                    {
                       hdfCodAvd.Value = objAvd.CO_AVD.ToString();
                        montarTela(objAvd);
                    }

                }
            }
        }

        protected void rtsDadoPaciente_TabClick(object sender, Telerik.Web.UI.RadTabStripEventArgs e)
        {
            switch (e.Tab.TabIndex)
            {
                case 0: Response.Redirect("/atendimento/Relatorio/RelDadosPaciente.aspx");
                    break;
                case 1: Response.Redirect("/atendimento/Relatorio/RelAnamnese.aspx");
                    break;
                case 2: Response.Redirect("/atendimento/Relatorio/RelAvd.aspx");
                    break;
                case 3: Response.Redirect("/atendimento/Relatorio/RelSocioEconomico.aspx");
                    break;
                case 4: Response.Redirect("/atendimento/Relatorio/RelClassificacaoFinal.aspx");
                    break;
                case 5: Response.Redirect("/atendimento/Relatorio/RelGestaoCuidados.aspx");
                    break;
            }
        }

        protected void montarTela(TB_AVD objAvd)
        {
            switch (objAvd.NR_Q_1_ALIMENTACAO)
            {
                case 1:
                    lblAlimentacao.Text = "Independente";
                    break;
                case 2:
                    lblAlimentacao.Text = "Dependente";
                    break;
                case 3:
                    lblAlimentacao.Text = "Não avaliado";
                    break;
            }

            switch (objAvd.NR_Q_1_BANHEIRO)
            {
                case 1:
                    lblIrAoBanheiro.Text = "Independente";
                    break;
                case 2:
                    lblIrAoBanheiro.Text = "Dependente";
                    break;
                case 3:
                    lblIrAoBanheiro.Text = "Não avaliado";
                    break;
            }
            switch (objAvd.NR_Q_1_BANHO)
            {
                case 1:
                    lblBanho.Text = "Independente";
                    break;
                case 2:
                    lblBanho.Text = "Dependente";
                    break;
                case 3:
                    lblBanho.Text = "Não avaliado";
                    break;
            }
            switch (objAvd.NR_Q_1_CONT)
            {
                case 1:
                    lblContinencia.Text = "Independente";
                    break;
                case 2:
                    lblContinencia.Text = "Dependente";
                    break;
                case 3:
                    lblContinencia.Text = "Não avaliado";
                    break;
            }
            switch (objAvd.NR_Q_1_TRANS)
            {
                case 1:
                    lblTransferencia.Text = "Independente";
                    break;
                case 2:
                    lblTransferencia.Text = "Dependente";
                    break;
                case 3:
                    lblTransferencia.Text = "Não avaliado";
                    break;
            }
            switch (objAvd.NR_Q_1_VESTIR)
            {
                case 1:
                    lblVestir.Text = "Independente";
                    break;
                case 2:
                    lblVestir.Text = "Dependente";
                    break;
                case 3:
                    lblVestir.Text = "Não avaliado";
                    break;
            }
            switch (objAvd.NR_Q_2_FERIDA)
            {
                case 1:
                    lblHaFeridas.Text = "Sim";
                    break;
                case 2:
                    lblHaFeridas.Text = "Não";
                    break;
                case 3:
                    lblHaFeridas.Text = "Não avaliado";
                    break;
            }

            //Atividade
            switch (objAvd.NR_Q_3_ATIVIDADE)
            {
                case 1:
                    lblAtividade.Text = "Acamado: mantém-se sempre no leito";
                    break;
                case 2:
                    lblAtividade.Text = "Restrito à cadeira: a habilidade de caminhar está severamente limitada ou abolida. Não consegue sustentar o próprio peso e/ou precisa ser ajudado a sentar-se na cadeira.";
                    break;
                case 3:
                    lblAtividade.Text = "Caminha ocasionalmente: caminha ocasionalmente durante o dia, porém por distâncias bem curtas, com ou sem assistência. Passa a maior parte do tempo na cama ou na cadeira.";
                    break;
                case 4:
                    lblAtividade.Text = "Caminha frequentemente: caminha fora do quarto pelo menos duas vezes por dia e dentro do quarto pelo menos a cada 2 horas durante o tempo em que está acordado";
                    break;

            }
            //Fricção
            switch (objAvd.NR_Q_3_CISALHAMENTO)
            {
                case 1:
                    lblFriccao.Text = "Problema existente: requer assistência moderada a máxima para mover-se. É impossível levanta-lo ou erguê-lo completamente sem que haja atrito da pele com o lençol. Frequentemente escorrega na cama ou cadeira, necessitando freqüentes ajustes de posição com máximo de assistência. Espasticidade, contratura ou agitação que leva a quase constante fricção.";
                    break;
                case 2:
                    lblFriccao.Text = "Problema em potencial: move-se, mas sem vigor ou requer mínima assistência. Durante o movimento provavelmente ocorre um certo atrito da pele com o lençol, cadeira ou outros equipamentos. Na maior parte do tempo mantém posição relativamente boa na cama ou cadeira, mas ocasionalmente escorrega para baixo.";
                    break;
                case 3:
                    lblFriccao.Text = "Nenhum problema aparente: move-se sozinho na cama ou cadeira e tem suficiente força muscular para erguer-se completamente durante o movimento. Sempre mantém boa posição na cama ou cadeira.";
                    break;
               

            }
            //Mobilidade
            switch (objAvd.NR_Q_3_MOBILIDADE)
            {
                case 1:
                    lblMobilidade.Text = "Completamente imobilizado: não faz nenhum movimento com o corpo por menor que seja, nem mesmo das extremidades sem ajuda.";
                    break;
                case 2:
                    lblMobilidade.Text = "Muito limitado: faz pequenas mudanças ocasionais na posição do corpo ou extremidades, mas é incapaz de fazer mudanças freqüentes ou significantes sozinho.";
                    break;
                case 3:
                    lblMobilidade.Text = "Levemente limitado: faz freqüentes, embora pequenas mudanças na posição do corpo ou extremidades, sem ajuda.";
                    break;
                case 4:
                    lblMobilidade.Text = "Nenhuma limitação: faz significantes e freqüentes mudanças de posição sem auxílio.";
                    break;

            }
            //Umidade
            switch (objAvd.NR_Q_3_UMIDADE)
            {
                case 1:
                    lblUmidade.Text = "Constantemente úmida: a pele é mantida úmida/molhada quase constantemente por transpiração, urina, exsudatos. A umidade é detectada cada vez que o paciente é movimentado ou posicionado.";
                    break;
                case 2:
                    lblUmidade.Text = " Muito úmida: a pele está frequentemente, mas nem sempre, úmida/molhada. A roupa de cama precisa ser trocada pelo menos uma vez durante o plantão";
                    break;
                case 3:
                    lblUmidade.Text = "Ocasionalmente úmida: a pele fica ocasionalmente úmida/molhada requerendo uma troca extra de roupa de cama por dia.";
                    break;
                case 4:
                    lblUmidade.Text = "Raramente úmida: a pele geralmente está seca, a troca de roupa de cama é necessária somente nos horários rotineiros.";
                    break;

            }
            //Sensorial
            switch (objAvd.NR_Q_3_PERC)
            {
                case 1:
                    lblPerSensorial.Text = "Completamente limitado: não reage (não geme, não se segura a nada, não se esquiva a estímulo doloroso, devido ao nível de consciência diminuído ou devido à sedação ou limitação da habilidade de sentir dor na maior parte da superfície corporal).";
                    break;
                case 2:
                    lblPerSensorial.Text = "Muito limitado: responde somente a estímulos dolorosos. Não é capaz de comunicar desconforto a não ser por gemidos e inquietação, ou tem alguma deficiência sensorial que limita a capacidade de sentir dor ou desconforto em mais da metade do corpo.";
                    break;
                case 3:
                    lblPerSensorial.Text = "Levemente limitado: responde aos comandos verbais, mas nem sempre consegue comunicar o desconforto ou a necessidade de ser mudado de posição, ou tem alguma deficiência sensorial que limita a capacidade de sentir dor ou desconforto em uma ou duas extremidades.";
                    break;
                case 4:
                    lblPerSensorial.Text = "Nenhuma limitação: responde aos comandos verbais. Não tem déficit sensorial que limitaria a capacidade de sentir ou verbalizar dor ou desconforto.";
                    break;

            }
            //Nutrição
            switch (objAvd.NR_Q_3_NUTRICAO)
            {
                case 1:
                    lblNutricao.Text = "Muito pobre:</b> nunca come toda a refeição. Raramente come mais de 1/3 do alimento oferecido. Come 2 porções ou menos de proteína (carne ou laticínios) por dia. Ingere pouco líquido. Não ingere suplemento alimentar líquido. Está em jejum ou é mantido com dieta líquida ou hidratação EV por mais de 5 dias";
                    break;
                case 2:
                    lblNutricao.Text = "Provavelmente inadequada:</b> raramente aceita uma refeição completa e geralmente come somente metade do alimento oferecido. A ingesta de proteína inclui somente 3 porções de carne ou laticínios por dia. Ocasionalmente aceita um suplemento alimentar ou recebe menos do que a quantidade ideal de dieta líquida ou alimentação por sonda.";
                    break;
                case 3:
                    lblNutricao.Text = "Adequada:</b> come mais da metade da maioria das refeições. Ingere um total de 4 porções de proteína (carne ou laticínio) por dia. Ocasionalmente recusa uma refeição, mas usualmente aceita um suplemento oferecido ou está recebendo dieta por sonda ou NPT, que provavelmente atende a maior parte das necessidades nutricionais.";
                    break;
                case 4:
                    lblNutricao.Text = "Excelente:</b> come a maior parte de cada refeição. Nunca recusa uma refeição. Geralmente ingere um total de 4 ou mais porções de carne e laticínios. Ocasionalmente come entre as refeições. Não requer suplemente alimentar.";
                    break;

            }



            carregarGrid();
        }

        private void carregarGrid()
        {
            var objFeridas = metFer.getFeridasByPaciente(Convert.ToInt32(Session["CO_USUARIO"]));
            grdFeridas.DataSource = objFeridas;
            grdFeridas.DataBind();
        }
    }
}